import { defineStore } from 'pinia';
import { ref } from 'vue'

// 第一个参数是字符串, 仓库的名字   ,  第er个参数是回调函数
export const useCounterStore = defineStore('counter', () => {
    // 状态数据(相当于state)
    const count = ref(0)
    const user = ref({ name: '李丽', name: 18 })

    // 定义方法(相当于mutation)
    // 加加
    function increment() {
      count.value++

    }
    // 减减
    function decrement() {
      count.value--
    }

    // 定时器  
    // 相当于action
    const asyreset = () => {
      setTimeout(function() {
        // 3秒后重置为0
        count.value = 0
      }, 1000);
    }

    // 将数据 和方法返回
    return { count, user, increment, decrement, asyreset }

  },
  //  2. 自定义存储
  {
    unistorage: {
      key: 'maoye', // 自定义存储的属性名
      paths: ['count', 'user'] //  指定存储那些变量=》把变量名以字符串形式传入
    }
  }
)